草庐IT

php - 匿名类构造

全部标签

c# - 在 Unity 中注册类型时如何传入构造函数参数?

我在Unity中注册了以下类型:container.RegisterType,AzureTable>();AzureTable的定义和构造函数如下:publicclassAzureTable:AzureTableBase,IInitializerwhereT:TableServiceEntity{publicAzureTable():this(CloudConfiguration.GetStorageAccount()){}publicAzureTable(CloudStorageAccountaccount):this(account,null){}publicAzureTable(

C#:是否可以在匿名方法中声明局部变量?

是否可以在匿名C#方法中使用局部变量,即在下面的代码中我只想执行一次计数。IQueryablelinq=db.Enquiries;if(...)linq=linq.Where(...);if(...)linq=linq.Where(e=>(x匿名函数有“let”吗?更新:请注意,我在此语句后添加了几个Where子句,因此我无法以选择结束。/尼尔斯 最佳答案 是的,为什么不呢?!毕竟这是一个函数,只是匿名的!例子:x=>{inty=x+1;returnx+y;}或者:delegate(intx){inty=x+1;returnx+y;

C#静态字段、实例构造函数

我遇到了一个我想了解的C#行为。考虑这样一个类:publicclassSomeSingleton{publicstaticSomeSingletonDefault=newSomeSingleton();privatestaticintfield=0;privateSomeSingleton(){field=1;}publicintGetField(){returnfield;}}现在,让我们调用GetField()方法:varfield=SomeSingleton.Default.GetField();我得到0就好像跳过了实例构造函数一样。为什么? 最佳答案

c# - 构造函数或属性 : which one is the better choice while assigning values

在赋值时我们应该在属性上使用构造函数,反之亦然。 最佳答案 构造函数是一种非常方便且功能强大的契约类型-一种要求消费者在甚至可以使用您的对象之前提供某些信息的方法。因此,对于实例正常运行所必需的信息,请使用构造函数参数。这是依赖注入(inject)的基本概念-任何你依赖于完成你的工作的东西,都必须在你开始之前注入(inject)(提供)给你。属性可以代表一个有趣的问题。总的来说,经验告诉我,只要有可能,属性应该是只读的,对象通常应该尽可能在外部不可变。将公共(public)setter添加到属性会使您的类的复杂性成倍增加。当然总是有

c# - Ninject 传入构造函数值

使用Ninject,您如何配置内核以便我可以定义将哪些构造函数值传递到对象的实例化?我在模块中配置了以下内容:Bind().To().InSingletonScope().Named("LIVE");Bind().To().InSingletonScope().Named("LIVE").WithConstructorArgument("service1",Kernel.Get("LIVE"));Service2Impl采用IService1的构造函数参数,但我希望它来自容器。我还想命名绑定(bind),因为我的代码将在运行时针对不同的版本。这似乎可行,但这是实现我想做的事情的正确方法

c# - 为什么我可以在 C# 中实例化一个没有构造函数的类?

C#中的类怎么可能没有定义构造函数?例如我有一个类internalclassTextStyle{internalstringtext="";internalFontfont=newFont("Arial",8);internalColorcolor=Color.Black;}并且在代码中这个类被实例化为TextStyletextParameters=newTextStyle(); 最佳答案 如果您没有为非静态类声明任何构造函数,编译器会为您提供一个公共(public)(或抽象类的protected)无参数构造函数。你的类实际上有一个

c# - 如何在 C# 中调用 protected 构造函数?

如何调用protected构造函数?publicclassFoo{publicFoo(alotofarguments){}protectedFoo(){}}varfoo=???这显然没有通过测试:publicclassFooMock:Foo{}varfoo=newFooMock();Assert(typeof(Foo),foo.GetType()); 最佳答案 调用无参数保护/私有(private)构造函数:Foofoo=(Foo)Activator.CreateInstance(typeof(Foo),true);调用带参数的非公

c# - 依赖注入(inject)和其他构造函数参数 - 不好的做法?

目前我正在尝试使用依赖注入(inject)容器,这次是使用Unity。给定以下界面:publicinterfaceIPodcastCommService{voidDownload();voidUpload();}和以下实现:publicclassPodcastService{privateIPodcastCommServicecommservice;privateStringurl;publicPodcastService(Stringurl,IPodcastCommServicecommservice){this.commservice=commservice;this.url=ur

c# - 使用 Ninject 的具有多个参数的构造函数

我打算使用Ninject作为IoC容器,但无法理解如何创建在构造函数中具有多个参数的类的实例。基本上我在PCL库中有一个用于身份验证的服务接口(interface)及其在WP8项目中的实现,该项目在构造函数中接收消费者key、secret和baseAddress://OnPCLprojectpublicinterfaceIAuthorizationService{boolAuthenticate();}//OnWP8ProjectpubilcclassMyAuthenticator:IAuthorizationService{publicMyAuthenticator(stringco

c# - 如何使用反射获取构造函数作为 MethodInfo

构造函数如下所示:publicNameAndValue(stringname,stringvalue)我需要使用反射将其作为MethodInfo获取。它尝试了以下操作,但没有找到构造函数(GetMethod返回null)。MethodInfoconstructor=typeof(NameAndValue).GetMethod(".ctor",new[]{typeof(string),typeof(string)});我做错了什么? 最佳答案 Type.GetConstructor.请注意,这会返回一个ConstructorInfo而